620c561461edddd2341653c704968d873844551e,scr/src/main/java/org/apache/felix/scr/impl/config/ImmediateComponentHolder.java,ImmediateComponentHolder,disposeComponents,#number#,372
Before Change
final ImmediateComponentManager singleComponent = m_singleComponent;
m_singleComponent = null;
final ImmediateComponentManager[] cms = getComponentManagers( true );
if ( cms == null )
{
singleComponent.dispose( reason );
}
After Change
public void disposeComponents( final int reason )
{
ImmediateComponentManager[] cms;
synchronized ( m_components )
{
// FELIX-1733: get a copy of the single component and clear
// the field to prevent recreation in disposed(ICM)
final ImmediateComponentManager singleComponent = m_singleComponent;
m_singleComponent = null;
cms = getComponentManagers( true );
if ( cms == null )
{
cms = new ImmediateComponentManager[] { singleComponent };
}
}
for ( ImmediateComponentManager cm : cms )